The present invention relates to an adaptive rule-based mechanism and method for resolving conflicting feature interactions.
Current communication systems provide users with a significant number of features, such as for example, call forwarding, call waiting, call hold, speed dialing etc. New features are continually being offered by telephone companies and private branch exchange (PBX) suppliers. With the availability of technology to allow features to be customized for each user, the number of actual features available to users can be nearly arbitrary. This of course makes the task of managing conflicts between features very difficult.
Indeterminacy conflicts between features occur when two or more non-mutually compatible features available to a user are to be invoked simultaneously in response to an event. For example, consider call forwarding busy (CFB) and call waiting (CW) features. Both of these features are extensions of a terminating call (TC) feature. During normal execution of the TC feature, an incoming call is rejected if an existing call is in progress. The CFB and CW features however define deviations to this incoming call handling procedure. During execution of the CFB feature, an incoming call is forwarded to another extension if an existing call is in progress. During execution of the CW feature, a warble is generated when an incoming call is received and an existing call is in progress. If a user subscribes to both the CFB and CW features and an incoming call is received when an existing call is in progress, a conflict occurs since the incoming call cannot be forwarded to another extension and answered by the called party at the same time.
The problems associated with feature interactions have been considered. See for example:
N. Griffeth, and Y. Lin, xe2x80x9cExtending Telecommunications Systems: The Feature-Interaction Problemxe2x80x9d, Computer, 14-18, August 1993.
E. Cameron et al., xe2x80x9cA Feature Interaction Benchmark for IN and Beyondxe2x80x9d, Feature Interactions in Telecommunications Systems, 1-23, IOS Press, 1994
D. Keck, and P. Kuehn, xe2x80x9cThe Feature and Service Interaction Problem in Telecommunications Systems: A Surveyxe2x80x9d, IEEE Transactions of Software Engineering, 779-796, October 1998.
To deal with feature interaction conflicts, in some state of the art communication systems, features are assigned priorities a priori by the communication system developer. In most cases, these priorities are hardcoded into software programs. As a result, each feature must explicitly account in some part of its code, for each possible interaction with another feature. This of course requires complete knowledge of other features with which an interaction may occur. Writing code for features to account for all other features is not only a highly a complex task but virtually impossible to achieve, especially in the presence of features developed by third parties that are added to an existing communication system. This problem is exemplified by the trend towards open, component-based communication systems that allow users to develop and add their own features.
In some communication systems, precedence has been used to specify feature selection in the event of a conflicting feature interaction based on the feature with the highest priority. For example, U.S. Pat. No. 4,695,977 to Hansen et al. discloses a telecommunication system for the switching of voice and data controlled by a computer executing a nonprocedural language that allows for the explicit control of interaction between features by the program scripts executing the programs. During run time of the system, a script, whose triples implement a particular feature, can control whether or not features of lower precedence are allowed to be implemented. However, this approach does not take into account features that specialize other features. This approach also does not allow precedence lists to be established for each user reflecting that user""s preferences for resolving conflicting feature interactions.
It is therefore an object of the present invention to provide a novel adaptive rule-based mechanism and method for resolving conflicting feature interactions.
According to one aspect of the present invention there is provided in a system where two or more indeterminate features can be executed in response to an event resulting in a conflicting feature interaction, an adaptive rule-based method for resolving said conflicting feature interaction comprising the steps of:
determining indeterminate features available for execution in response to an event;
examining said indeterminate features to determine whether one of said indeterminate features takes priority over other indeterminate features;
if one of said indeterminate features takes priority, selecting said one indeterminate feature for execution; and
if one of said indeterminate features does not take priority, prompting a user to select one of said indeterminate features for execution thereby to resolve said conflicting feature interaction.
According to another aspect of the present invention there is provided a telephony communication system wherein a service is to be performed in response to an event, said system including a plurality of executable conflicting features representing available options which can be performed to complete said service, an adaptive rule-based method to resolve feature conflicts during performance of said service comprising the steps of:
determining the conflicting features available for execution;
examining said conflicting features to determine whether one of said conflicting features takes priority over other conflicting features;
if one of said conflicting features takes priority, executing said one conflicting feature thereby to complete said service; and
if one of said conflicting feature does not take priority, prompting a user to select one of said conflicting features for execution to resolve said conflicting feature interaction and executing the selected conflicting feature thereby to complete said service.
According to yet another aspect of the present invention there is provided an adaptive rule-based mechanism to resolve conflicting feature interactions when a plurality of conflicting features can be executed simultaneously in response to an event, said mechanism comprising:
means for determining conflicting features available for execution in response to said event;
means for examining said conflicting features to determine whether one of said conflicting features takes priority over other conflicting features;
means for selecting the conflicting feature that takes priority for execution, if it exists; and
means for prompting a user to make a selection to resolve said conflicting feature interaction if a conflicting feature taking priority does not exist.
According to yet another aspect of the present invention there is provided in a system where two or more indeterminate features can be executed in response to an event resulting in a conflicting feature interaction, an adaptive rule-based method for resolving said conflicting feature interaction comprising the steps of:
determining indeterminate features available for execution in response to an event;
examining said indeterminate features to determine whether one of said indeterminate features takes priority over other indeterminate features;
if one of said indeterminate features takes priority, selecting said one indeterminate feature for execution; and
if one of said indeterminate features does not take priority, comparing levels assigned to the indeterminate features with the level assigned to a user associated with said event, if the level assigned to at least one indeterminate feature is above the level of the user, automatically selecting one of the indeterminate features to resolve the conflicting feature interaction; otherwise prompting the user to make a selection to resolve the conflicting feature interaction.
According to still yet another aspect of the present invention there is provided in a telephony communication system wherein a telephone call completion service is to be performed in response to a telephone call, said system including a plurality of executable conflicting features representing available options which can be performed to complete said service, an adaptive rule-based method to resolve feature conflicts during performance of said service comprising the steps of:
prompting a calling party to select one of a number of options;
determining the conflicting features available for execution;
examining said conflicting features to determine whether one of said conflicting features takes priority over the other conflicting features;
if one of said conflicting features takes priority, executing said one conflicting feature thereby to complete said service; and
if one conflicting feature does not take priority, examining rules associated with a policy governing feature selection to determine if the policy rules remove one or more features from the conflict; prompting a user to make a selection from the remaining conflicting features to resolve said conflicting feature interaction; and executing the selected feature thereby to complete said service.
According to still yet another aspect of the present invention there is provided a computer readable medium including computer program code for resolving conflicting feature interactions comprising:
computer program code for determining conflicting features available for execution in response to an event;
computer program code for examining said conflicting features to determine whether one of said conflicting features takes priority over other conflicting features;
computer program code for selecting said one conflicting feature for execution if one of said conflicting features takes priority; and
computer program code for prompting a user to select one of said conflicting features for execution if one of said conflicting features does not take priority thereby to resolve said conflicting feature interaction.
The present invention provides advantages in that after the adaptive rule-based mechanism is invoked, feature interactions are resolved allowing services to be performed. If desired, rules can be established to govern feature selection when the same services are to be performed in the future. Since feature interactions are resolved in an adaptive manner, different users can establish their own preferences.